home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
dev
/
obero
/
oberon_lib.lha
/
oberon-a
/
source1.lha
/
source
/
Amiga
/
Parallel.mod
< prev
next >
Wrap
Text File
|
1994-08-08
|
3KB
|
100 lines
(**************************************************************************
$RCSfile: Parallel.mod $
Description: Interface to parallel.device
Created by: fjc (Frank Copeland)
$Revision: 3.2 $
$Author: fjc $
$Date: 1994/08/08 00:46:54 $
$VER: parallel.h 36.1 (10.5.90)
Includes Release 40.15
(C) Copyright 1985-1993 Commodore-Amiga, Inc.
All Rights Reserved
Oberon-A interface Copyright © 1994, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
MODULE Parallel;
(*
** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
** $V- OvflChk $Z- ZeroVars
*)
IMPORT E := Exec;
(*
**
** parallel.device I/O request structure information
**
*)
TYPE
IOPArrayPtr * = CPOINTER TO IOPArray;
IOPArray * = RECORD
PTermArray0 * : E.ULONG;
PTermArray1 * : E.ULONG;
END; (* IOPArray *)
(******************************************************************)
(* CAUTION !! IF YOU ACCESS the parallel.device, you MUST (!!!!) use
an IOExtPar-sized structure or you may overlay innocent memory !! *)
(******************************************************************)
TYPE
IOExtParPtr * = CPOINTER TO IOExtPar;
IOExtPar * = RECORD (E.IOStdReq)
(*par * : IOStdReq;*)
pExtFlags * : SET; (* (not used) flag extension area *)
status * : E.BSET; (* status of parallel port and registers *)
parFlags * : E.BSET; (* see PARFLAGS bit definitions below *)
pTermArray * : IOPArray; (* termination character array *)
END; (* IOExtPar *)
CONST
parShared * = 5; (* ParFlags non-exclusive access bit *)
parSlowMode * = 4; (* " slow printer bit *)
parFastMode * = 3; (* " fast I/O mode selected bit *)
parRadBoogie * = 3; (* " for backward compatibility *)
parAckMode * = 2; (* " ACK interrupt handshake bit *)
parEofMode * = 1; (* " EOF mode enabled bit *)
ioParQueued * = 6; (* ioFLAGS rqst-queued bit *)
ioParAbort * = 5; (* " rqst-aborted bit *)
ioParActive * = 4; (* " rqst-qued-or-current bit *)
ioPtRwDir * = 3; (* ioSTATUS read=0,write=1 bit *)
ioPtParSel * = 2; (* " printer selected on the A1000 *)
(* printer selected & serial "Ring Indicator"
on the A500 & A2000. Be careful when
making cables *)
ioPtPaperOut * = 1; (* " paper out bit *)
ioPtParBusy * = 0; (* " printer in busy toggle bit *)
(* Note: previous versions of this include files had bits 0 and 2 swapped *)
name * = "parallel.device";
cmdQuery * = E.cmdNonstd;
cmdSetParams * = E.cmdNonstd+1;
parErrDevBusy * = 1;
parErrBufTooBig * = 2;
parErrInvParam * = 3;
parErrLineErr * = 4;
parErrNotOpen * = 5;
parErrPortReset * = 6;
parErrInitErr * = 7;
END Parallel.